From: <Saved by Windows Internet Explorer 8>
Subject: Edge-Triggered Flip-flops
Date: Sat, 1 Jan 2011 15:21:08 +0200
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_010A_01CBA9C7.84035CB0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5994

This is a multi-part message in MIME format.

------=_NextPart_000_010A_01CBA9C7.84035CB0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.eelab.usyd.edu.au/digital_tutorial/part2/flip-flop02.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Edge-Triggered Flip-flops</TITLE>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<SCRIPT language=3DJavaScript>
<!--
ffpic1 =3D new Image(101,148)
ffpic1.src =3D "pics/flipsr01.jpg"
ffpic2 =3D new Image(101,148)
ffpic2.src =3D "pics/flipjk01.jpg"
ffpic3 =3D new Image(101,148)
ffpic3.src =3D "pics/flipd01.jpg"
ffpic4 =3D new Image(101,148)
ffpic4.src =3D "pics/flipsr02.jpg"
ffpic5 =3D new Image(101,148)
ffpic5.src =3D "pics/flipjk02.jpg"
ffpic6 =3D new Image(101,148)
ffpic6.src =3D "pics/flipd02.jpg"

function sample1(imgName)
{
   document[imgName].src =3D eval(imgName + "1.src")
}
function sample2(imgName)
{
   document[imgName].src =3D eval(imgName + "2.src")
}
function sample3(imgName)
{
   document[imgName].src =3D eval(imgName + "3.src")
}
function sample4(imgName)
{
   document[imgName].src =3D eval(imgName + "4.src")
}
function sample5(imgName)
{
   document[imgName].src =3D eval(imgName + "5.src")
}
function sample6(imgName)
{
   document[imgName].src =3D eval(imgName + "6.src")
}
// -->
</SCRIPT>

<META name=3DGENERATOR content=3D"MSHTML 8.00.6001.18975"></HEAD>
<BODY=20
background=3Dhttp://www.eelab.usyd.edu.au/digital_tutorial/part2/flip-flo=
p02.html#=20
bgColor=3D#ffffff>
<P align=3Dcenter><IMG border=3D0 alt=3Dflipflop01s.gif=20
src=3D"http://www.eelab.usyd.edu.au/digital_tutorial/part2/pics/flipflop0=
1s.gif"=20
width=3D200 height=3D60>=20
<H1 align=3Dcenter><FONT color=3Dorange><I>Edge-Triggered =
Flip-flops</I></FONT>=20
</H1>
<BLOCKQUOTE><B>An <FONT color=3D#ff0080>edge-triggered flip-flop =
</FONT>changes=20
  states either at the positive edge (rising edge) or at the negative =
edge=20
  (falling edge) of the clock pulse on the control input. &nbsp;The =
three basic=20
  types are introduced here: <FONT color=3D#0080ff>S-R</FONT>, <FONT=20
  color=3D#0080ff>J-K </FONT>and <FONT =
color=3D#0080ff>D</FONT>.<BR></B></BLOCKQUOTE>
<CENTER>
<TABLE cellPadding=3D2>
  <TBODY>
  <TR>
    <TD>
      <P align=3Dleft><IMG border=3D0 name=3Dffpic=20
      =
src=3D"http://www.eelab.usyd.edu.au/digital_tutorial/part2/pics/flipsr01.=
jpg"=20
      width=3D101 height=3D148></P></TD>
    <TD>Click on one the following types of flip-flop. &nbsp;Then =
<BR>its=20
      logic symbol will be shown on the left. &nbsp;Notice the <BR>small =

      triangle, called the <B><FONT color=3D#408080>dynamic input=20
      indicator</FONT></B>, is <BR>used to identify an edge-triggered =
flip-flop.=20

      <P><B><FONT color=3D#0080ff>Positive edge-triggered =
</FONT>(without bubble=20
      at Clock input): <BR><A=20
      onmouseover=3D"window.status=3D'Positive Edge-triggered S-R =
flip-flop logic symbol';return true;"=20
      onmouseout=3D"window.status=3D'';return true;"=20
      href=3D"javascript: sample1('ffpic')">S-R</A>, <A=20
      onmouseover=3D"window.status=3D'Positive Edge-triggered J-K =
flip-flop logic symbol';return true;"=20
      onmouseout=3D"window.status=3D'';return true;"=20
      href=3D"javascript: sample2('ffpic')">J-K</A>, and <A=20
      onmouseover=3D"window.status=3D'Positive Edge-triggered D =
flip-flop logic symbol';return true;"=20
      onmouseout=3D"window.status=3D'';return true;"=20
      href=3D"javascript: sample3('ffpic')">D</A>.</B>=20
      <P><FONT color=3D#0080ff><B>Negative edge-triggered =
</B></FONT><B>(with=20
      bubble at Clock input): <BR><A=20
      onmouseover=3D"window.status=3D'Negative Edge-triggered S-R =
flip-flop logic symbol';return true;"=20
      onmouseout=3D"window.status=3D'';return true;"=20
      href=3D"javascript: sample4('ffpic')">S-R</A>, <A=20
      onmouseover=3D"window.status=3D'Negative Edge-triggered J-K =
flip-flop logic symbol';return true;"=20
      onmouseout=3D"window.status=3D'';return true;"=20
      href=3D"javascript: sample5('ffpic')">J-K</A>, and <A=20
      onmouseover=3D"window.status=3D'Negative Edge-triggered D =
flip-flop logic symbol';return true;"=20
      onmouseout=3D"window.status=3D'';return true;"=20
      href=3D"javascript: =
sample6('ffpic')">D</A>.</B></P></TD></TR></TBODY></TABLE></CENTER>
<BLOCKQUOTE><B>The S-R, J-K and D inputs are called <FONT=20
  color=3D#408080>synchronous inputs </FONT>because data on these inputs =
are=20
  transferred to the flip-flop's output only on the triggering edge of =
the clock=20
  pulse.On the other hand, the <FONT color=3D#0080ff>direct set =
(SET)</FONT> and=20
  <FONT color=3D#0080ff>clear (CLR)</FONT> inputs are called <FONT=20
  color=3D#408080>asynchronous inputs</FONT>, as they are inputs that =
affect the=20
  state of the flip-flop independent of the clock. &nbsp;For the =
synchronous=20
  operations to work properly, these asynchronous inputs must both be =
kept=20
  LOW.</B> </BLOCKQUOTE>
<P>
<H2 align=3Dleft><FONT color=3D#ff0000>Edge-triggered S-R =
flip-flop</FONT> </H2>
<BLOCKQUOTE>
  <P align=3Dleft><B>The basic operation is illustrated below, along =
with the=20
  truth table for this type of flip-flop. The operation and truth table =
for a=20
  negative edge-triggered flip-flop are the same as those for a positive =
except=20
  that the falling edge of the clock pulse is the triggering=20
edge.</B><BR></P></BLOCKQUOTE>
<TABLE cellPadding=3D2>
  <TBODY>
  <TR>
    <TD rowSpan=3D2><IMG border=3D0 alt=3D"S-R truth table"=20
      =
src=3D"http://www.eelab.usyd.edu.au/digital_tutorial/part2/pics/flipsr_ta=
b.jpg"=20
      width=3D311 height=3D128></TD>
    <TD><IMG border=3D0=20
      =
src=3D"http://www.eelab.usyd.edu.au/digital_tutorial/part2/pics/flipsr03.=
jpg"=20
      width=3D192 height=3D123></TD></TR>
  <TR>
    <TD><B>As S =3D 1, R =3D 0. &nbsp;Flip-flop SETS on the rising clock =

    edge.</B></TD></TR></TBODY></TABLE>
<BLOCKQUOTE><B>Note that the S and R inputs can be changed at any time =
when=20
  the clock input is LOW or HIGH (except for a very short interval =
around the=20
  triggering transition of the clock) without affecting the output. This =
is=20
  illustrated in the <FONT color=3D#408080>timing diagram</FONT>=20
below:</B><BR></BLOCKQUOTE>
<CENTER><IMG border=3D0=20
src=3D"http://www.eelab.usyd.edu.au/digital_tutorial/part2/pics/flipsr04.=
jpg"=20
width=3D315 height=3D205><BR></CENTER>
<P><BR>
<H2><FONT color=3D#ff0000>Edge-triggered J-K flip-flop</FONT> </H2>
<BLOCKQUOTE><B>The J-K flip-flop works very similar to S-R flip-flop.=20
  &nbsp;The only difference is that this flip-flop has NO invalid state. =

  &nbsp;The outputs <FONT color=3D#408080>toggle</FONT> (change to the =
opposite=20
  state) when both J and K inputs are HIGH. &nbsp;The truth table is =
shown=20
  below.</B> </BLOCKQUOTE>
<P align=3Dcenter><IMG border=3D0 alt=3D"J-K truth table"=20
src=3D"http://www.eelab.usyd.edu.au/digital_tutorial/part2/pics/flipjk_ta=
b.jpg"=20
width=3D310 height=3D126>=20
<P>
<H2><FONT color=3D#ff0000>Edge-triggered D flip-flop</FONT> </H2>
<BLOCKQUOTE><B>The operations of a D flip-flop is much more simpler. =
&nbsp;It=20
  has only one input addition to the clock. &nbsp;It is very useful when =
a=20
  single data bit (0 or 1) is to be stored. &nbsp;If there is a HIGH on =
the D=20
  input when a clock pulse is applied, the flip-flop SETs and stores a =
1.=20
  &nbsp;If there is a LOW on the D input when a clock pulse is applied, =
the=20
  flip-flop RESETs and stores a 0. &nbsp;The truth table below summarize =
the=20
  operations of the positive edge-triggered D flip-flop. &nbsp;As =
before, the=20
  negative edge-triggered flip-flop works the same except that the =
falling edge=20
  of the clock pulse is the triggering edge.</B> </BLOCKQUOTE>
<P align=3Dcenter><IMG border=3D0 alt=3D"D truth table"=20
src=3D"http://www.eelab.usyd.edu.au/digital_tutorial/part2/pics/flipd_tab=
.jpg"=20
width=3D266 height=3D93><BR><BR><BR><BR>
<P align=3Dcenter><IMG border=3D0=20
src=3D"http://www.eelab.usyd.edu.au/digital_tutorial/part2/pics/bhf_r.gif=
" isMap=20
width=3D300 height=3D40 useMap=3D#bhfr><MAP name=3Dbhfr> <AREA=20
  =
href=3D"http://www.eelab.usyd.edu.au/digital_tutorial/part2/flip-flop03.h=
tml"=20
  shape=3DRECT coords=3D200,0,300,40><AREA=20
  =
href=3D"http://www.eelab.usyd.edu.au/digital_tutorial/part2/hpage.html"=20
  shape=3DRECT coords=3D102,0,200,40><AREA=20
  =
href=3D"http://www.eelab.usyd.edu.au/digital_tutorial/part2/flip-flop01.h=
tml"=20
  shape=3DRECT coords=3D0,0,102,40></MAP><BR><BR></P></BODY></HTML>

------=_NextPart_000_010A_01CBA9C7.84035CB0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.eelab.usyd.edu.au/digital_tutorial/part2/pics/flipflop01s.gif

R0lGODlhyAA8APcAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBm
ZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ZgD/
mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNmZjNmmTNm
zDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP/
/2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZ
AGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkA
M5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZ
ZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswA
mcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZ
zMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A
//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///M
AP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///wAAAA0NDRoaGigoKDU1NUNDQ1BQUF1d
XWtra3h4eIaGhpOTk6Ghoa6urru7u8nJydbW1uTk5PHx8f///wAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkIANcALAAAAADIADwA
QAj+AK8JHEiwoMGDCBMqXMiwocOHECNKnCgQ2jNnGJ8pfAasIzSKIEOKHEmy5EF151Y9s8aypUuX
GtOdm0mTVMebOHMC03js2UeTQIMKJensmdFqz5A6m0nK2spqLUnNRObzoEyaTHV2PHbtKtZjWoFx
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

------=_NextPart_000_010A_01CBA9C7.84035CB0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.eelab.usyd.edu.au/digital_tutorial/part2/pics/flipsr01.jpg

[encoded data, 9120 characters]
oA//2Q==

------=_NextPart_000_010A_01CBA9C7.84035CB0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.eelab.usyd.edu.au/digital_tutorial/part2/pics/flipsr_tab.jpg

[encoded data, 11400 characters]
d+Jpwcfu/E1wmmT0eA+DYYlpFSttelKdQltlFrXjEvSlK9Uof//Z

------=_NextPart_000_010A_01CBA9C7.84035CB0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.eelab.usyd.edu.au/digital_tutorial/part2/pics/flipsr03.jpg

[encoded data, 4560 characters]
EQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH/2Q==

------=_NextPart_000_010A_01CBA9C7.84035CB0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.eelab.usyd.edu.au/digital_tutorial/part2/pics/flipsr04.jpg

[encoded data, 9956 characters]
K18OIjK9vb0j0AAAAAAAAAAAAAAAAAAAAD//2Q==

------=_NextPart_000_010A_01CBA9C7.84035CB0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.eelab.usyd.edu.au/digital_tutorial/part2/pics/flipjk_tab.jpg

[encoded data, 11704 characters]

------=_NextPart_000_010A_01CBA9C7.84035CB0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.eelab.usyd.edu.au/digital_tutorial/part2/pics/flipd_tab.jpg

[encoded data, 7752 characters]
iiirpWBkIeITW0mvtJJPauONTVf/2Q==

------=_NextPart_000_010A_01CBA9C7.84035CB0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.eelab.usyd.edu.au/digital_tutorial/part2/pics/bhf_r.gif

[encoded data, 33136 characters]
AAAAAAAAHUM6XENTM1xodG1sM1xwaWNzXGJmX3IxMC5naWYAADs=

------=_NextPart_000_010A_01CBA9C7.84035CB0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.eelab.usyd.edu.au/digital_tutorial/part2/flip-flop02.html#

<HTML>
<HEAD>
  <SCRIPT language=3D"JavaScript">
<!--
ffpic1 =3D new Image(101,148)
ffpic1.src =3D "pics/flipsr01.jpg"
ffpic2 =3D new Image(101,148)
ffpic2.src =3D "pics/flipjk01.jpg"
ffpic3 =3D new Image(101,148)
ffpic3.src =3D "pics/flipd01.jpg"
ffpic4 =3D new Image(101,148)
ffpic4.src =3D "pics/flipsr02.jpg"
ffpic5 =3D new Image(101,148)
ffpic5.src =3D "pics/flipjk02.jpg"
ffpic6 =3D new Image(101,148)
ffpic6.src =3D "pics/flipd02.jpg"

function sample1(imgName)
{
   document[imgName].src =3D eval(imgName + "1.src")
}
function sample2(imgName)
{
   document[imgName].src =3D eval(imgName + "2.src")
}
function sample3(imgName)
{
   document[imgName].src =3D eval(imgName + "3.src")
}
function sample4(imgName)
{
   document[imgName].src =3D eval(imgName + "4.src")
}
function sample5(imgName)
{
   document[imgName].src =3D eval(imgName + "5.src")
}
function sample6(imgName)
{
   document[imgName].src =3D eval(imgName + "6.src")
}
// -->
</SCRIPT>
  <TITLE>Edge-Triggered Flip-flops</TITLE>
</HEAD>
<BODY BGCOLOR=3D"#ffffff" BACKGROUND=3D"#">
<P ALIGN=3DCenter>
<IMG WIDTH=3D"200" HEIGHT=3D"60" BORDER=3D"0" =
SRC=3D"./pics/flipflop01s.gif" ALT=3D"flipflop01s.gif">
<H1 ALIGN=3DCenter>
  <FONT COLOR=3D"Orange"><I>Edge-Triggered Flip-flops</I></FONT>
</H1>
<BLOCKQUOTE>
  <B>An <FONT COLOR=3D"#ff0080">edge-triggered flip-flop </FONT>changes =
states
  either at the positive edge (rising edge) or at the negative edge =
(falling
  edge) of the clock pulse on the control input. &nbsp;The three basic =
types
  are introduced here: <FONT COLOR=3D"#0080ff">S-R</FONT>,
  <FONT COLOR=3D"#0080ff">J-K </FONT>and <FONT =
COLOR=3D"#0080ff">D</FONT>.<BR>
  </B>
</BLOCKQUOTE>
<CENTER>
  <TABLE CELLPADDING=3D"2">
    <TR>
      <TD><P ALIGN=3DLeft>
	<IMG NAME=3D"ffpic" SRC=3D"pics/flipsr01.jpg" WIDTH=3D"101" =
HEIGHT=3D"148" BORDER=3D"0"></TD>
      <TD>Click on one the following types of flip-flop. &nbsp;Then <BR>
	its logic symbol will be shown on the left. &nbsp;Notice the <BR>
	small triangle, called the <B><FONT COLOR=3D"#408080">dynamic input
	indicator</FONT></B>, is <BR>
	used to identify an edge-triggered flip-flop.
	<P>
	<B> <FONT COLOR=3D"#0080ff">Positive edge-triggered </FONT>(without =
bubble
	at Clock input): <BR>
	<A href=3D"javascript: sample1('ffpic')" =
onmouseover=3D"window.status=3D'Positive Edge-triggered S-R flip-flop =
logic symbol';return true;"
	    onmouseout=3D"window.status=3D'';return true;">S-R</A>,
	<A href=3D"javascript: sample2('ffpic')" =
onmouseover=3D"window.status=3D'Positive Edge-triggered J-K flip-flop =
logic symbol';return true;"
	    onmouseout=3D"window.status=3D'';return true;"> J-K</A>, and
	<A href=3D"javascript: sample3('ffpic')" =
onmouseover=3D"window.status=3D'Positive Edge-triggered D flip-flop =
logic symbol';return true;"
	    onmouseout=3D"window.status=3D'';return true;"> D</A>.</B>
	<P>
	<FONT COLOR=3D"#0080ff"><B> Negative edge-triggered </B></FONT><B>(with =
bubble
	at Clock input): <BR>
	<A href=3D"javascript: sample4('ffpic')" =
onmouseover=3D"window.status=3D'Negative Edge-triggered S-R flip-flop =
logic symbol';return true;"
	    onmouseout=3D"window.status=3D'';return true;">S-R</A>,
	<A href=3D"javascript: sample5('ffpic')" =
onmouseover=3D"window.status=3D'Negative Edge-triggered J-K flip-flop =
logic symbol';return true;"
	    onmouseout=3D"window.status=3D'';return true;"> J-K</A>, and
	<A href=3D"javascript: sample6('ffpic')" =
onmouseover=3D"window.status=3D'Negative Edge-triggered D flip-flop =
logic symbol';return true;"
	    onmouseout=3D"window.status=3D'';return true;"> D</A>.</B></TD>
    </TR>
  </TABLE>
</CENTER>
<BLOCKQUOTE>
  <B>The S-R, J-K and D inputs are called <FONT =
COLOR=3D"#408080">synchronous
  inputs </FONT>because data on these inputs are transferred to the =
flip-flop's
  output only on the triggering edge of the clock pulse.On the other =
hand,
  the <FONT COLOR=3D"#0080ff">direct set (SET)</FONT> and
  <FONT COLOR=3D"#0080ff">clear (CLR)</FONT> inputs are called
  <FONT COLOR=3D"#408080">asynchronous inputs</FONT>, as they are inputs =
that
  affect the state of the flip-flop independent of the clock. &nbsp;For =
the
  synchronous operations to work properly, these asynchronous inputs =
must both
  be kept LOW.</B>
</BLOCKQUOTE>
<P>
<H2 ALIGN=3DLeft>
  <FONT COLOR=3D"#ff0000">Edge-triggered S-R flip-flop</FONT>
</H2>
<BLOCKQUOTE>
  <P ALIGN=3DLeft>
  <B>The basic operation is illustrated below, along with the truth =
table for
  this type of flip-flop. The operation and truth table for a negative
  edge-triggered flip-flop are the same as those for a positive except =
that
  the falling edge of the clock pulse is the triggering edge.</B><BR>
</BLOCKQUOTE>
<TABLE CELLPADDING=3D"2">
  <TR>
    <TD ROWSPAN=3D2><IMG SRC=3D"pics/flipsr_tab.jpg" WIDTH=3D"311" =
HEIGHT=3D"128" ALT=3D"S-R truth table"
	  BORDER=3D"0"></TD>
    <TD><IMG SRC=3D"pics/flipsr03.jpg" WIDTH=3D"192" HEIGHT=3D"123" =
BORDER=3D"0"></TD>
  </TR>
  <TR>
    <TD><B>As S =3D 1, R =3D 0. &nbsp;Flip-flop SETS on the rising clock =
edge.</B></TD>
  </TR>
</TABLE>
<BLOCKQUOTE>
  <B>Note that the S and R inputs can be changed at any time when the =
clock
  input is LOW or HIGH (except for a very short interval around the =
triggering
  transition of the clock) without affecting the output. This is =
illustrated
  in the <FONT COLOR=3D"#408080">timing diagram</FONT> below:</B><BR>
</BLOCKQUOTE>
<CENTER>
  <IMG SRC=3D"pics/flipsr04.jpg" WIDTH=3D"315" HEIGHT=3D"205" =
BORDER=3D"0"><BR>
</CENTER>
<P>
<BR>
<H2>
  <FONT COLOR=3D"#ff0000">Edge-triggered J-K flip-flop</FONT>
</H2>
<BLOCKQUOTE>
  <B>The J-K flip-flop works very similar to S-R flip-flop. &nbsp;The =
only
  difference is that this flip-flop has NO invalid state. &nbsp;The =
outputs
  <FONT COLOR=3D"#408080">toggle</FONT> (change to the opposite state) =
when both
  J and K inputs are HIGH. &nbsp;The truth table is shown below.</B>
</BLOCKQUOTE>
<P ALIGN=3DCenter>
<IMG SRC=3D"pics/flipjk_tab.jpg" WIDTH=3D"310" HEIGHT=3D"126" ALT=3D"J-K =
truth table"
    BORDER=3D"0">
<P>
<H2>
  <FONT COLOR=3D"#ff0000">Edge-triggered D flip-flop</FONT>
</H2>
<BLOCKQUOTE>
  <B>The operations of a D flip-flop is much more simpler. &nbsp;It has =
only
  one input addition to the clock. &nbsp;It is very useful when a single =
data
  bit (0 or 1) is to be stored. &nbsp;If there is a HIGH on the D input =
when
  a clock pulse is applied, the flip-flop SETs and stores a 1. &nbsp;If =
there
  is a LOW on the D input when a clock pulse is applied, the flip-flop =
RESETs
  and stores a 0. &nbsp;The truth table below summarize the operations =
of the
  positive edge-triggered D flip-flop. &nbsp;As before, the negative =
edge-triggered
  flip-flop works the same except that the falling edge of the clock =
pulse
  is the triggering edge.</B>
</BLOCKQUOTE>
<P ALIGN=3DCenter>
<IMG SRC=3D"pics/flipd_tab.jpg" WIDTH=3D"266" HEIGHT=3D"93" ALT=3D"D =
truth table"
    BORDER=3D"0"><BR>
<BR>
<BR>
<BR>
<P ALIGN=3DCenter>
<IMG SRC=3D"pics/bhf_r.gif" WIDTH=3D"300" HEIGHT=3D"40" BORDER=3D"0" =
ISMAP USEMAP=3D"#bhfr"><MAP
    NAME=3D"bhfr">
  <AREA SHAPE=3D"RECT" HREF=3D"./flip-flop03.html" =
COORDS=3D"200,0,300,40">
  <AREA SHAPE=3D"RECT" HREF=3D"./hpage.html" COORDS=3D"102,0,200,40">
  <AREA SHAPE=3D"RECT" HREF=3D"./flip-flop01.html" =
COORDS=3D"0,0,102,40">
</MAP>
<BR>
<BR>
</BODY></HTML>

------=_NextPart_000_010A_01CBA9C7.84035CB0--
